/* 
 * File:   Utiles.h
 * Author: Gabriel Fainstein
 *
 * Created on 19 de mayo de 2013, 19:30
 */

#ifndef UTILES_H
#define	UTILES_H

#include <list>
#include <string>
#include <dirent.h>
#include <sys/stat.h>
#include "common_Excepcion.h"

using namespace TP;

typedef std::list<std::string> LNombreArchivo;
typedef std::list<std::string> LPathArchivo;

class FileUtils {
public:
    FileUtils();
    
    bool ObtenerNombreArchivos(const std::string & path, 
                               LNombreArchivo & l)  const;
    //Dado un path, devuelve una lista con los nombres de los archivos.
    //True en caso de exito, false si hubo problemas con el directorio. 
    
    bool ObtenerFullPathArchivo(const std::string & path, 
                                  LPathArchivo & l) const;
    //dado un path, devuelve una lista con el full path de cada archivo
    //True en caso de exito, false si hubo problemas con el directorio. 
    
    bool DirectorioExistente(const std::string & path);
    //dado un path, devuelve true si es un directorio existente, false
    //en caso contrario
    
private:
    FileUtils(const FileUtils&);
    FileUtils & operator = (const FileUtils&);

};

#endif	/* UTILES_H */

